package com.hjm.project.system.db.mapper;

import com.hjm.project.system.db.domain.Db;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 参数配置 数据层
 */
public interface DbMapper {


    /**
     * 获取所有表
     * @Param [db]
     * @Return java.util.List<java.util.Map < java.lang.String, java.lang.String>>
     */
    List<Map<String,String>> selectTableList(Db db);
    Map<String,Object> selectTableOne(String tableName);

    /**
     * 获取一个表结构
     * @Param [db]
     * @Return java.util.Map<java.lang.String, java.lang.Object>
     */
    List<Map<String,String>> selectTableStructure(Db db);


    /**
     * 执行一个语句（查询）
     * @Param [content]
     * @Return java.util.List<java.util.Map < java.lang.String, java.lang.String>>
     */
    List<Map<String,String>> perform(@Param(value="content")  String content);

    /**
     * 执行一个语句（更新）
     * @Param [content]
     * @Return java.util.List<java.util.Map < java.lang.String, java.lang.String>>
     */
    int update(@Param(value="content")  String content);

    /**
     * 执行一个语句（删除）
     * @Param [content]
     * @Return java.util.List<java.util.Map < java.lang.String, java.lang.String>>
     */
    int del(@Param(value="content")  String content);

    /**
     * 执行一个语句（新增）
     * @Param [content]
     * @Return java.util.List<java.util.Map < java.lang.String, java.lang.String>>
     */
    int insert(@Param(value="content")  String content);

    /**
     * 执行一个语句（更改）
     * @Param [content]
     * @Return java.util.List<java.util.Map < java.lang.String, java.lang.String>>
     */
    int updateColumn(@Param(value="content")  String content);


}
